﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Onshi.POS.Modelo.Entidades;
using Onshi.POS.Repositorios;
using Onshi.POS.Clientes.Vistas;
using Onshi.POS.Modelo.Enumeradores;

namespace Onshi.POS.Clientes
{
    public class ClientesDetallePresentador
    {
        #region Constructores

        public ClientesDetallePresentador(IClientesDetalle vista)
        {
            this.vista = vista;
        }

        #endregion

        #region Atributos

        private IClientesDetalle vista;

        #endregion

        #region Propiedades

        private RepositorioClientes RepositorioClientes
        {
            get { return new RepositorioClientes(); }
        }

        #endregion

        #region Metodos

        public void Inicializar()
        {
            var cliente = RepositorioClientes.DevolverPorId(vista.IdCliente, true);
            if (cliente == null)
                throw new Exception("El cliente no existe");
            vista.IdRubroCliente = cliente.Rubro.Id;
            vista.IdListaPrecioVenta = cliente.ListaPrecioVenta.Id;
            vista.IdVendedor = cliente.Vendedor.Id;
            vista.Codigo = cliente.Codigo;
            vista.Nombre = cliente.Nombre;
            vista.LimiteDeuda = cliente.LimiteDeudaFormato;
            vista.Cuit = cliente.CuitFormato;
            vista.Email = cliente.Email;
            vista.SitioWeb = cliente.SitioWeb;
            vista.Estado = cliente.Estado;
            vista.Observaciones = cliente.Observaciones;
            vista.RubroClienteNombre = cliente.RubroNombre;
            vista.TipoIvaNombre = cliente.TipoIvaNombre;
            vista.ListaPrecioVentaNombre = cliente.ListaPrecioVentaNombre;
            vista.VendedorCodigoNombre = cliente.VendedorCodigoNombre;
            vista.ListadoDomicilios = cliente.Domicilios;
            vista.ListadoTelefonos = cliente.Telefonos;
            vista.ListadoTiposFormasPagos = cliente.TiposFormasPagos;
            vista.ListadoCamposPersonalizados = cliente.CamposPersonalizados;
            vista.Imagen = cliente.Imagen;
        }

        #endregion
    }
}
